*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  /* 基础变量设置 */
  --primary-color: #4a90e2;
  --secondary-color: #f5f5f5;
  --text-color: #333;
  --border-radius: 8px;
  --safe-area-inset-bottom: env(safe-area-inset-bottom);
}

html {
  touch-action: manipulation; /* 禁止双击缩放 */
  font-size: 16px;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
    Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  line-height: 1.5;
  color: var(--text-color);
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  padding-bottom: constant(safe-area-inset-bottom); /* iOS 11.0 */
  padding-bottom: env(safe-area-inset-bottom); /* iOS 11.2+ */
  min-height: 100vh;
  min-height: -webkit-fill-available;
  width: 100%;
}

/* 应用容器样式 */
.app {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
}